package com.authine.cloudpivot.ext.dto.kingDee.request;

import com.authine.cloudpivot.ext.enums.kingdee.KingDeeInvoiceApplyTypeEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "开红字发票")
public class KingDeeRedInvoiceApply implements Serializable {

    private static final long serialVersionUID = 305608370253144980L;
    /**
     * ID
     */
    @Schema(description = "ID")
    private String id;
    /**
     * 开票时间
     */
    @Schema(description = "开票时间")
    private Date invoiceTime;
    /**
     * 组织ID
     */
    @Schema(description = "组织ID")
    private String applyOrganizationId;
    /**
     * 类型
     */
    @Schema(description = "类型")
    private KingDeeInvoiceApplyTypeEnum type;
    /**
     * 税额
     */
    @Schema(description = "税额")
    private BigDecimal taxPayable;
    /**
     * 未税金额
     */
    @Schema(description = "未税金额")
    private BigDecimal pretaxAmount;
    /**
     * 含税金额
     */
    @Schema(description = "含税金额")
    private BigDecimal amount;
    /**
     * 发票号
     */
    @Schema(description = "发票号")
    private String number;
    /**
     * 申请组织名称
     */
    @Schema(description = "申请组织名称")
    private String applyOrganizationCompanyName;
    /**
     * 确认组织名称
     */
    @Schema(description = "确认组织名称")
    private String confirmOrganizationCompanyName;
    /**
     * 部门编码
     */
    @Schema(description = "部门编码")
    private String departmentNumber;
    /**
     * 组织ID
     */
    @Schema(description = "组织ID")
    private String orgId;
    /**
     * 父组织名称
     */
    @Schema(description = "父组织名称")
    private String parentName;
    /**
     * 税率
     */
    @Schema(description = "税率")
    private BigDecimal taxRate;
    /**
     * 转采不含税采购金额
     */
    @Schema(description = "转采不含税采购金额")
    private BigDecimal purchaseTransferPurchasePretaxAmount;
    /**
     * 转采不含税销售金额
     */
    @Schema(description = "收票模型")
    private BigDecimal saleTransferPurchasePretaxAmount;
    /**
     * 平台不含税销售金额
     */
    @Schema(description = "转采不含税销售金额")
    private BigDecimal platformDoesNotIncludeTaxSalesAmount;
    /**
     * 既有转采又有非转采
     */
    @Schema(description = "既有转采又有非转采")
    private Boolean isTransferPurchaseAndPlatform;
    /**
     * 转采
     */
    @Schema(description = "转采")
    private Boolean isTransfer;
    /**
     * 发票号拼接
     */
    @Schema(description = "发票号拼接")
    private String numbers;
    /**
     * 是否红冲
     */
    @Schema(description = "是否红冲")
    private Boolean isRed;
    /**
     * 发票对应的抬头编码
     */
    @Schema(description = "发票对应的抬头编码")
    private String kingdeeCode;
    /**
     * 供应商订单ids 收票红冲
     */
    @Schema(description = "供应商订单ids")
    private String voucherId;
    /**
     * 发票抬头
     */
    @Schema(description = "发票抬头")
    private String purchaseName;
    /**
     * 账套名
     */
    @Schema(description = "账套名")
    private String accountName;
}
